const Cami = require('../../model/Cami')
const User = require('../../model/User')
module.exports = async (req, res) => {
    const { key, id } = req.body
    if (!key) {
        res.sendResult(null, 400, '请传递卡密！')
        return
    }
    if (!id) {
        res.sendResult(null, 400, '请传递用户id')
        return
    }
    const findCami = await Cami.findOne({ where: { key } })
    if (!findCami) {
        res.sendResult(null, 400, '卡密不存在！')
        return
    }
    if (!findCami.state) {
        res.sendResult(null, 400, '卡密已经被使用！')
        return
    }
    const findUser = await User.findOne({ where: { id } })
    if (!findUser) {
        res.sendResult(null, 400, '用户不存在！')
        return
    }
    // 卡密容量大小
    let size = findCami.size
    // 用户可用容量大小
    let capacity = findUser.capacity + size
    // 用户容量大小
    let maxcapacity = findUser.maxcapacity + size
    const editcpt = await User.update({ capacity, maxcapacity }, { where: { id } })
    if (!editcpt) {
        res.sendResult(null, 500, '使用失败！发生未知错误')
        return
    }
    let state = false
    let user_id = id
    const editCami = await Cami.update({ state, user_id }, { where: { id: findCami.id } })
    if (!editCami) {
        res.sendResult(null, 500, '使用失败！发生未知错误')
        return
    }
    res.sendResult(null, 200, '使用成功！')
}